package com.dxg.msns.user.api;

import org.springframework.web.bind.annotation.*;

/**
 * 用户历史记录API接口
 * 供其他微服务通过Feign调用
 */
@RequestMapping("/api/user/playRecord")
public interface UserHistoryApi {

    /**
     * 添加用户播放历史记录
     * 
     * @param userId  用户ID
     * @param musicId 音乐ID
     * @return 操作结果消息
     */
    @PostMapping("/addHistory")
    String addUserHistory(@RequestParam("userId") String userId, @RequestParam("musicId") String musicId);

    /**
     * 根据用户ID统计历史记录总数
     * 
     * @param userId 用户ID
     * @return 历史记录总数
     */
    @GetMapping("/countForFeign")
    Long countUserHistory(@RequestParam("userId") String userId);

    /**
     * 清空用户所有历史记录
     * 
     * @param userId 用户ID
     * @return 操作结果消息
     */
    @DeleteMapping("/clearForFeign")
    String clearUserHistory(@RequestParam("userId") String userId);

    /**
     * 删除特定的历史记录
     * 
     * @param userId  用户ID
     * @param musicId 音乐ID
     * @return 操作结果消息
     */
    @DeleteMapping("/deleteForFeign")
    String deleteUserHistory(@RequestParam("userId") String userId, @RequestParam("musicId") String musicId);
}